Change management systems are commonly used to keep track of changes made to documents by one or more users. Such systems may record the changes that are made to a document so that specific versions of the document may be recalled later. For example, if a source code document tracked by a change management system is modified in a manner that introduces software bugs, the change management system may be used to revert the source code document to a state previous to when the software bugs were introduced.
One way that change management systems may track documents and record changes is by generating change records that record differences between an earlier and a later version of a document. This change document may then be applied to the later version in order to recreate the earlier version. If several changes are made to the document, resulting in several versions, multiple change records may be generated. To revert back to the earliest version of a tracked document, according to some change management systems, each of the many change records that may have been generated for that document must be applied, as each change record only records the differences between a particular document version and the version immediately previous thereto.
Deployed broadly, e.g., in support of an entire business or massive software project involving thousands of tracked documents, a massive number of change records may result. When a problem arises that requires rolling back documents, it may not be clear what change (or changes) to the tracked documents was responsible for the problem. With so many documents and associated change records, identifying the appropriate change record(s) to apply in order to alleviate the problem is often onerous and time-consuming.